Skip to content
  • 0 Votes
    5 Posts
    53 Views
    OldSurferDudeO
    I think the comments you make are good. I do have a question about the removing the regulator. I assume you mean the 5V to 3.3V regulator. I connect to the 5V and I see lot of variation in moisture readings due to the variation in the output of the power supply (solar panel/stepdown). I have a calibration routine for that. The voltage can go as high as 4.2V, which I believe may be bad if I connect the power supply to 3.3V. Of course, this is not a concern if using two 1.5V batteries. With batteries, the moisture reading would be more consistent over a day. Lot of advantages there. I just don't like changing batteries and I really hate it when they leak. I have every reason to believe that my power supply will last 10 years and I am fortunate to live in a place with consistent sunshine :) . Someone replicating my project will have to take this into consideration. My design easily accommodates a different power supply. And my power supply could be used in other projects. Resistive vs Capacitive sensor. I'm glad you report good results. This gives people options. Water moisture: I've had good experience with "spraying" the Arduino with clear electronic coating and sealing the enclosure with liquid tape. -OSD
  • 1 Votes
    12 Posts
    159 Views
    don alexD
    @Ron said in 💬 Capacitive Soil Moisture Sensor: @Puneit-Thukral Thanks. I am not quite sure, so correct me please if I am wrong, but I think I am already using the MiniCore bootloader with platformIO. Or do I need to configure to explicitly use the MiniCore bootloaders? Also I have set BOD to disabled as I read somewhere that no BOD can also save battery. hi I'm not sure, but I believe I'm already using the MiniCore bootloader with platformIO. Please tell me if I'm incorrect. Is it necessary to set the MiniCore bootloaders explicitly?
  • 2 Votes
    12 Posts
    162 Views
    YveauxY
    @mfalkvidd the one that stops at 2.7v I once broke my head over it, then it saw I was looking at the automotive datasheet...
  • 0 Votes
    2 Posts
    544 Views
    S
    Hello, Very interesting project ! When I try to put your gerber files in JLCPCB site, there is no view, and no dimensions ? Is it normal ? which dimensions is required ? Thanks
  • 0 Votes
    3 Posts
    1k Views
    S
    Hi there! Reading the Watermark sensor is no easy task indeed. Took us a while to get accurate and reliable data out of these sensors. First of all, take a look at the official documentation provided by Irrometer: https://www.irrometer.com/200ss.html Especially the pseudo-AC excitation is very important and make sure you calibrate the readings using the soil temperature. There's quite some off-the-shelf hardware on the market already. Look for a device that has a low power consumption so you can measure throughout the year, for example: https://www.crodeon.com/blogs/news/connecting-a-watermark-sensor-to-the-cloud Let me know if you have any more questions!
  • Help in data send to Domoticz

    Development domoticz dht22 soil moisture
    2
    0 Votes
    2 Posts
    1k Views
    gohanG
    Do some debug on the node and on gateway and check if data is actually sent from the node and received by gateway. Also use wait instead of sleep if you are using it as a repeater and relay actuator.
  • 0 Votes
    8 Posts
    4k Views
    N
    @Yveaux thank you for your help! yes, that makes a lot of sense actually. My ignorance on the matter kicked-in once again... sorry :( What I'm missing so is how to create a sensor node which can be operated on battery and take measurements every "x" seconds/minutes/hours: shall I leave the Gateway always on and then configure differently another Node-MCU to act as a Sensor Node ? Edit: In fact all of this was meant, for me, to be a "test run" bedore developing the whole system. I got a little off-road with the deepSleep and Battery thing, but I wanted to have a real-word-test of my sensor left for a day in the soil while sending reliable data to controller. As I'm reading even more documents and forum post, it's getting clear to me that the best thing would be "ask to the comunity" their experience with HW nodes, thus I can decide which one is best for my case.
  • Best controller for HVAC control ?

    Controllers controller hvac soil moisture
    1
    0 Votes
    1 Posts
    1k Views
    No one has replied
  • Soil Moisture analog input question

    Troubleshooting soil moisture
    3
    0 Votes
    3 Posts
    3k Views
    G
    Here is the sketch if anyone can help out. #include <SPI.h> #include <MySensor.h> #define CHILD_ID_LIGHT 0 #define LIGHT_SENSOR_ANALOG_PIN 1 #define NODE_ID 9 int BATTERY_SENSE_PIN = A2; // select the input pin for the battery sense point unsigned long SLEEP_TIME = 30000; // Sleep time between reads (in milliseconds) MySensor gw; MyMessage msg(CHILD_ID_LIGHT, V_LIGHT_LEVEL); int lastLightLevel; int oldBatteryPcnt = 0; void setup() { // use the 1.1 V internal reference //analogReference(INTERNAL); gw.begin(NULL, NODE_ID, false); // Send the sketch version information to the gateway and Controller gw.sendSketchInfo("Soil_Moist_Sensor_grb", "1.15"); // Register all sensors to gateway (they will be created as child devices) gw.present(CHILD_ID_LIGHT, S_LIGHT_LEVEL); } void loop() { int lightLevel = (1023-analogRead(LIGHT_SENSOR_ANALOG_PIN))/10.23; Serial.println(lightLevel); if (lightLevel != lastLightLevel) { gw.send(msg.set(lightLevel)); lastLightLevel = lightLevel; } // get the battery Voltage int sensorValue = analogRead(BATTERY_SENSE_PIN); Serial.println(sensorValue); // 1M, 470K divider across battery and using internal ADC ref of 1.1V // Sense point is bypassed with 0.1 uF cap to reduce noise at that point // ((1e6+470e3)/470e3)*1.1 = Vmax = 3.44 Volts // 3.44/1023 = Volts per bit = 0.003363075 - changed without ref volt float batteryV = sensorValue * 0.00305734; int batteryPcnt = sensorValue / 10; Serial.print("Battery Voltage: "); Serial.print(batteryV); Serial.println(" V"); Serial.print("Battery percent: "); Serial.print(batteryPcnt); Serial.println(" %"); if (oldBatteryPcnt != batteryPcnt) { // Power up radio after sleep gw.sendBatteryLevel(batteryPcnt); oldBatteryPcnt = batteryPcnt; } gw.sleep(SLEEP_TIME); }

13

Online

11.7k

Users

11.2k

Topics

113.1k

Posts